…ents/editor tests (#262904) (#264206)
# Backport
This will backport the following commits from `main` to `9.4`:
- [[dashboard] unskip
platform/plugins/private/links/public/components/editor tests
(#262904)](#262904)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Nathan
Reese","email":"reese.nathan@elastic.co"},"sourceCommit":{"committedDate":"2026-04-17T19:28:02Z","message":"[dashboard]
unskip platform/plugins/private/links/public/components/editor tests
(#262904)\n\nCloses
https://github.com/elastic/kibana/issues/253303\n\nTest skipped because
it some times timed out (took over 5000ms). The\ntest is slow because it
renders a lazy loaded component. This PR\nresolves the lazy load by
moving `DashboardNavigationOptionsEditor` into\na package.
Unfortunately, this required creating 3 packages, `schema`,\n`common`,
and a `components` package.\n\nThe tests were originally added
in\nhttps://github.com//pull/211041.\nhttps://github.com//pull/211041
fixed a bug but did not\nresolve the code smell that caused the bug. The
problem is that\n`options` state is getting stored at 2 different levels
in 2 different\n`useStates`. This PR resolves that code smell by
removing LinkOption\ncomponent and moving it into `LinkEditor` and then
removing duplicated\n`linkOptions` state.\n\nOriginal test run (with
lazy load component). Notice how first test case\ntakes over a second
because lazy load component has to load.\n<img width=\"1371\"
height=\"193\" alt=\"Screenshot 2026-04-13 at 3 32
25 PM\"\nsrc=\"https://github.com/user-attachments/assets/0a9a58f6-b8ee-488d-ad9b-116467eb14a1\"\n/>\n\nThis
PR test run (with component in package - so no lazy
loading\nneeded).\n<img width=\"1293\" height=\"188\" alt=\"Screenshot
2026-04-13 at 3 34
26 PM\"\nsrc=\"https://github.com/user-attachments/assets/5ff05378-ebe7-461f-a1e2-ecae57818944\"\n/>\n\n---------\n\nCo-authored-by:
macroscopeapp[bot]
<170038800+macroscopeapp[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e7743267aa62989fff197c20bbbaeb778d330a6f","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Presentation","release_note:skip","backport:version","v9.4.0","v9.5.0"],"title":"[dashboard]
unskip platform/plugins/private/links/public/components/editor
tests","number":262904,"url":"https://github.com/elastic/kibana/pull/262904","mergeCommit":{"message":"[dashboard]
unskip platform/plugins/private/links/public/components/editor tests
(#262904)\n\nCloses
https://github.com/elastic/kibana/issues/253303\n\nTest skipped because
it some times timed out (took over 5000ms). The\ntest is slow because it
renders a lazy loaded component. This PR\nresolves the lazy load by
moving `DashboardNavigationOptionsEditor` into\na package.
Unfortunately, this required creating 3 packages, `schema`,\n`common`,
and a `components` package.\n\nThe tests were originally added
in\nhttps://github.com//pull/211041.\nhttps://github.com//pull/211041
fixed a bug but did not\nresolve the code smell that caused the bug. The
problem is that\n`options` state is getting stored at 2 different levels
in 2 different\n`useStates`. This PR resolves that code smell by
removing LinkOption\ncomponent and moving it into `LinkEditor` and then
removing duplicated\n`linkOptions` state.\n\nOriginal test run (with
lazy load component). Notice how first test case\ntakes over a second
because lazy load component has to load.\n<img width=\"1371\"
height=\"193\" alt=\"Screenshot 2026-04-13 at 3 32
25 PM\"\nsrc=\"https://github.com/user-attachments/assets/0a9a58f6-b8ee-488d-ad9b-116467eb14a1\"\n/>\n\nThis
PR test run (with component in package - so no lazy
loading\nneeded).\n<img width=\"1293\" height=\"188\" alt=\"Screenshot
2026-04-13 at 3 34
26 PM\"\nsrc=\"https://github.com/user-attachments/assets/5ff05378-ebe7-461f-a1e2-ecae57818944\"\n/>\n\n---------\n\nCo-authored-by:
macroscopeapp[bot]
<170038800+macroscopeapp[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e7743267aa62989fff197c20bbbaeb778d330a6f"}},"sourceBranch":"main","suggestedTargetBranches":["9.4"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/262904","number":262904,"mergeCommit":{"message":"[dashboard]
unskip platform/plugins/private/links/public/components/editor tests
(#262904)\n\nCloses
https://github.com/elastic/kibana/issues/253303\n\nTest skipped because
it some times timed out (took over 5000ms). The\ntest is slow because it
renders a lazy loaded component. This PR\nresolves the lazy load by
moving `DashboardNavigationOptionsEditor` into\na package.
Unfortunately, this required creating 3 packages, `schema`,\n`common`,
and a `components` package.\n\nThe tests were originally added
in\nhttps://github.com//pull/211041.\nhttps://github.com//pull/211041
fixed a bug but did not\nresolve the code smell that caused the bug. The
problem is that\n`options` state is getting stored at 2 different levels
in 2 different\n`useStates`. This PR resolves that code smell by
removing LinkOption\ncomponent and moving it into `LinkEditor` and then
removing duplicated\n`linkOptions` state.\n\nOriginal test run (with
lazy load component). Notice how first test case\ntakes over a second
because lazy load component has to load.\n<img width=\"1371\"
height=\"193\" alt=\"Screenshot 2026-04-13 at 3 32
25 PM\"\nsrc=\"https://github.com/user-attachments/assets/0a9a58f6-b8ee-488d-ad9b-116467eb14a1\"\n/>\n\nThis
PR test run (with component in package - so no lazy
loading\nneeded).\n<img width=\"1293\" height=\"188\" alt=\"Screenshot
2026-04-13 at 3 34
26 PM\"\nsrc=\"https://github.com/user-attachments/assets/5ff05378-ebe7-461f-a1e2-ecae57818944\"\n/>\n\n---------\n\nCo-authored-by:
macroscopeapp[bot]
<170038800+macroscopeapp[bot]@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"e7743267aa62989fff197c20bbbaeb778d330a6f"}}]}]
BACKPORT-->
Co-authored-by: Nathan Reese <reese.nathan@elastic.co>
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
Closes #253303
Test skipped because it some times timed out (took over 5000ms). The test is slow because it renders a lazy loaded component. This PR resolves the lazy load by moving
DashboardNavigationOptionsEditorinto a package. Unfortunately, this required creating 3 packages,schema,common, and acomponentspackage.The tests were originally added in #211041. #211041 fixed a bug but did not resolve the code smell that caused the bug. The problem is that
optionsstate is getting stored at 2 different levels in 2 differentuseStates. This PR resolves that code smell by removing LinkOption component and moving it intoLinkEditorand then removing duplicatedlinkOptionsstate.Original test run (with lazy load component). Notice how first test case takes over a second because lazy load component has to load.

This PR test run (with component in package - so no lazy loading needed).
